package com.tinyzk.service.bwork.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
import lombok.Getter;
import lombok.Setter;

/**
 * <p>
 * 岗位表
 * </p>
 *
 * @author lxj
 * @since 2025-09-17
 */
@Getter
@Setter
@TableName("company_job")
public class CompanyJob implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 芝麻岗位回传ID，回传过得就有值
     */
    @TableField("zhima_position_id")
    private String zhimaPositionId;

    /**
     * 公司ID
     */
    @TableField("company_id")
    private Long companyId;

    /**
     * 默认联系人ID
     */
    @TableField("company_user_id")
    private Long companyUserId;

    /**
     * 公司名称
     */
    @TableField("company_name")
    private String companyName;

    /**
     * 用工类型（长期员工和短期员工)
     */
    @TableField("employment_code")
    private String employmentCode;

    /**
     * 如果是短工,则存月数
     */
    @TableField("months_salar")
    private Integer monthsSalar;

    /**
     * 联系人名称
     */
    @TableField("company_user_name")
    private String companyUserName;

    /**
     * 职位名称
     */
    @TableField("job_name")
    private String jobName;

    /**
     * 职位一级类型编码
     */
    @TableField("job_type1_code")
    private String jobType1Code;

    /**
     * 职位二级类型编码
     */
    @TableField("job_type2_code")
    private String jobType2Code;

    /**
     * 职位三级类型编码
     */
    @TableField("job_type3_code")
    private String jobType3Code;

    /**
     * 技能标签
     */
    @TableField("job_skills")
    private String jobSkills;

    /**
     * 新增/替换
     */
    @TableField("job_increase_code")
    private String jobIncreaseCode;

    /**
     * 新增/替换
     */
    @TableField("job_increase_name")
    private String jobIncreaseName;

    /**
     * 招人部门
     */
    @TableField("department")
    private String department;

    /**
     * 工作地址
     */
    @TableField("address")
    private String address;

    /**
     * 工作地址详情
     */
    @TableField("address_info")
    private String addressInfo;

    /**
     * 省
     */
    @TableField("province_code")
    private String provinceCode;

    /**
     * 省
     */
    @TableField("province_name")
    private String provinceName;

    /**
     * 城市
     */
    @TableField("city_code")
    private String cityCode;

    /**
     * 城市
     */
    @TableField("city_name")
    private String cityName;

    /**
     * 县
     */
    @TableField("country_code")
    private String countryCode;

    /**
     * 县
     */
    @TableField("country_name")
    private String countryName;

    /**
     * 经度
     */
    @TableField("lng")
    private BigDecimal lng;

    /**
     * 纬度
     */
    @TableField("lat")
    private BigDecimal lat;

    /**
     * 汇报对象
     */
    @TableField("reports_to")
    private String reportsTo;

    /**
     * 招聘人数
     */
    @TableField("recruiting_numbers")
    private Integer recruitingNumbers;

    /**
     * 薪资待遇最低值
     */
    @TableField("salary_min")
    private BigDecimal salaryMin;

    /**
     * 薪资待遇最高值
     */
    @TableField("salary_max")
    private BigDecimal salaryMax;

    /**
     * 是否面议(true:是 false:否)
     */
    @TableField("is_negotiable")
    private Boolean isNegotiable;

    /**
     * 其他福利
     */
    @TableField("rest_welfare_code")
    private String restWelfareCode;

    /**
     * 工作经验
     */
    @TableField("work_experience_code")
    private String workExperienceCode;

    /**
     * 学历要求
     */
    @TableField("educational_requirements_code")
    private String educationalRequirementsCode;

    /**
     * 岗位描述
     */
    @TableField("description")
    private String description;

    /**
     * 技能描述
     */
    @TableField("skil")
    private String skil;

    /**
     * 0关闭，1.招聘   2,草稿
     */
    @TableField("status")
    private Integer status;

    /**
     * crm跟进人id
     */
    @TableField("crm_follower_id")
    private Long crmFollowerId;

    /**
     * crm跟进人
     */
    @TableField("crm_follower")
    private String crmFollower;

    /**
     * 创建人
     */
    @TableField("create_id")
    private Long createId;

    /**
     * 创建人名称
     */
    @TableField("create_name")
    private String createName;

    /**
     * 创建时间
     */
    @TableField("create_time")
    private LocalDateTime createTime;

    /**
     * 修改时间
     */
    @TableField("update_time")
    private LocalDateTime updateTime;

    /**
     * 薪资月数(多少薪)
     */
    @TableField("salary_month")
    private Integer salaryMonth;

    /**
     * 来源:  默认:0  爬虫:1 ，一键导入2  ,酷应用同步3, llm 4，钉钉直聘 5
     */
    @TableField("source")
    private Integer source;

    /**
     * 地图地址
     */
    @TableField("map_pic")
    private String mapPic;

    /**
     * 是否是老系统数据 1是0不是
     */
    @TableField("is_old")
    private Integer isOld;

    /**
     * 芝麻优选标签（1：加入 0：不加入）
     */
    @TableField("zhi_ma_tag")
    private Integer zhiMaTag;

    /**
     * 备注
     */
    @TableField("remark")
    private String remark;

    /**
     * 是否删除 0/正常，1/删除
     */
    @TableField("is_deleted")
    @TableLogic
    private Integer isDeleted;

    /**
     * 酷应用同步时cool_job.id
     */
    @TableField("cool_job_id")
    private Long coolJobId;

    /**
     * CRM授权导入同步时crm_aurh_import_job.id
     */
    @TableField("crm_import_job_id")
    private Long crmImportJobId;

    /**
     * 职位类型  0 社招 1 校招
     */
    @TableField("job_recruitment_type")
    private Integer jobRecruitmentType;

    /**
     * 职位二维码
     */
    @TableField("qrcode_link")
    private String qrcodeLink;

    /**
     * 会话ID
     */
    @TableField("cid")
    private String cid;

    /**
     * 期望到岗日期
     */
    @TableField("expect_duty_date")
    private LocalDate expectDutyDate;
}
